package jp.co.nes.awssupport.common.dao;

import java.time.ZonedDateTime;

import com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTypeConverter;

import jp.co.nes.awssupport.common.utility.DateUtil;

/**
 * ZonedDateTimeコンバータです。<br>
 * DynamoDbにBeanクラスの内容を登録する際、フィールドの型がZonedDateTimeのものに対して使用します。
 */
public class ZonedDateTimeConverter implements DynamoDBTypeConverter<String, ZonedDateTime> {

    /**
     * デフォルトコンストラクタです。
     */
    public ZonedDateTimeConverter() {
    }

    /*
     * (非 Javadoc)
     * @see com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTypeConverter#convert(java.lang.Object)
     */
    @Override
    public String convert(ZonedDateTime object) {
        return DateUtil.toString(object, "uuuu-MM-dd HH:mm:ss");
    }

    /*
     * (非 Javadoc)
     * @see com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBTypeConverter#unconvert(java.lang.Object)
     */
    @Override
    public ZonedDateTime unconvert(String object) {
        return DateUtil.toZonedDateTime(object);
    }
}
